/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package session;

import entities.*;
import java.util.*;
import javax.ejb.EJB;
import javax.ejb.Stateful;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

/**
 *
 * @author sflesca
 */
@Stateful
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class Carrello implements CarrelloLocal {
    
    @EJB
    private OrderManagerLocal ordermanager;
    
    private Cliente cliente;
    private List<Prodotto> prodotti = new LinkedList<Prodotto>();
    
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
    public List<Prodotto> getProdotti() {
        return prodotti;
    }

    @Override
    public void addProdotto(Prodotto prodotto) throws ProdottoNonDisponibileException {
    }

    @Override
    public void removeProdotto(Prodotto prodotto) {
    }

    @Override
    public void setCliente(Cliente cliente) throws ClienteNonValidoException {
    }

    @Override
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void ordina() throws ClienteNonValidoException, ProdottoNonDisponibileException {
        ordermanager.ordina(cliente, prodotti);
        svuota();
    }

    @Override
    public void svuota() {
    }
    
    
    
    
    
}
